home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v2.1 / Amiga Developer CD v2.1.iso / CDTV / cdtvtools-11 / debug / watchdog / enforcer.doc < prev    next >
Text File  |  1991-06-13  |  2KB  |  55 lines

  1.  
  2. Enclosed is a majik tool for detecting invisible bugs in programs; _The
  3. Enforcer_ uses the MMU to build a shroud of protection over anything that
  4. is not legal memory.  Any "empty holes" in the address space are marked as
  5. illegal by _Enforcer_.    Reads of the system ROMs are allowed, but not
  6. writes.  With the exception of longword reads of location 4, the lowest 1K
  7. of memory is completely off-limits.
  8.  
  9. When an illegal access is detected, the power LED will flash and a detailed
  10. message will be sent out the serial port (at the default speed).  Illegal
  11. writes are aborted, illegal reads return NULL data.  For example:
  12.  
  13.  
  14.  
  15. Program Counter (approximate)=  28EB3E         Fault address       =C0EDBABE
  16. User stack pointer         =    2E39EC           DOS process address =  23C810
  17. Data: DDDD0000 DDDD1100 DDDD2200 DDDD3300 DDDD4400 DDDD5500 DDDD6600 DDDD7700
  18. Addr: AAAA0000 AAAA1100 AAAA2200 AAAA3300 AAAA4400 AAAA5500 AAAA6600 000FFFA0
  19. Data output buffer  =$DDDD0000 ( )
  20. Status register     =$8            Special status word =$709 (WRITE-LONG)
  21. Process/CLI = AmigaShell ,"lawbreaker"
  22.  
  23.  
  24.  
  25. CLI command "lawbreaker" has written the value $DDDD0000 to location
  26. $C0EDBABE.  The write was aborted.  With the information given, it is
  27. usually quite easy to figure out what went wrong.
  28.  
  29.  
  30.  
  31.  
  32. Remote keystrokes:
  33.         ^S    - pause
  34.         ^Q    - resume
  35.         ^X    - disable _Enforcer_ reporting until next ^Q.
  36.  
  37.  
  38.  
  39.  
  40. Notes:
  41.  
  42.     If you don't have an external terminal, just use a modem & a terminal
  43.     program.  Most modems will echo back characters at any baud rate. Else,
  44.     just set the baud rate to match the modem.
  45.  
  46.  
  47.     Illegal hits from CLI commands named "metascope" or "wack" are ignored.
  48.  
  49.  
  50.     The Alert() system call writes to locations in the $180-$1C0 area.
  51.  
  52.  
  53.     _The Enforcer_ works on any V1.2,V1.3 or V2.0 system, provided the MMU
  54.     is available.
  55.